home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / demos / VisualAge for Java 2.0 Entry / setup / data1.cab / ide-e / IDE / cache / IXG542 (.txt) < prev    next >
Encoding:
Java Class File  |  1998-09-16  |  6.3 KB  |  221 lines

  1. package com.sun.java.swing;
  2.  
  3. import com.sun.java.accessibility.Accessible;
  4. import com.sun.java.accessibility.AccessibleContext;
  5. import com.sun.java.accessibility.AccessibleState;
  6. import com.sun.java.swing.event.ChangeEvent;
  7. import com.sun.java.swing.event.ChangeListener;
  8. import com.sun.java.swing.event.EventListenerList;
  9. import com.sun.java.swing.plaf.ProgressBarUI;
  10. import java.awt.Component;
  11. import java.awt.Graphics;
  12.  
  13. public class JProgressBar extends JComponent implements SwingConstants, Accessible {
  14.    protected int orientation;
  15.    protected boolean paintBorder;
  16.    protected BoundedRangeModel barModel;
  17.    protected transient ChangeEvent changeEvent = null;
  18.    protected ChangeListener changeListener = null;
  19.    static Class class$com$sun$java$swing$event$ChangeListener;
  20.  
  21.    public JProgressBar() {
  22.       this.setModel(new DefaultBoundedRangeModel());
  23.       this.updateUI();
  24.       this.orientation = 0;
  25.       this.paintBorder = true;
  26.    }
  27.  
  28.    public void addChangeListener(ChangeListener l) {
  29.       EventListenerList var10000 = super.listenerList;
  30.       Class var10001 = class$com$sun$java$swing$event$ChangeListener;
  31.       if (var10001 == null) {
  32.          try {
  33.             var10001 = Class.forName("com.sun.java.swing.event.ChangeListener");
  34.          } catch (ClassNotFoundException var2) {
  35.             throw new NoClassDefFoundError(((Throwable)var2).getMessage());
  36.          }
  37.  
  38.          class$com$sun$java$swing$event$ChangeListener = var10001;
  39.       }
  40.  
  41.       var10000.add(var10001, l);
  42.    }
  43.  
  44.    protected ChangeListener createChangeListener() {
  45.       return new ModelListener(this);
  46.    }
  47.  
  48.    protected void fireStateChanged() {
  49.       Object[] listeners = super.listenerList.getListenerList();
  50.  
  51.       for(int i = listeners.length - 2; i >= 0; i -= 2) {
  52.          Object var10000 = listeners[i];
  53.          Class var10001 = class$com$sun$java$swing$event$ChangeListener;
  54.          if (var10001 == null) {
  55.             try {
  56.                var10001 = Class.forName("com.sun.java.swing.event.ChangeListener");
  57.             } catch (ClassNotFoundException var3) {
  58.                throw new NoClassDefFoundError(((Throwable)var3).getMessage());
  59.             }
  60.  
  61.             class$com$sun$java$swing$event$ChangeListener = var10001;
  62.          }
  63.  
  64.          if (var10000 == var10001) {
  65.             if (this.changeEvent == null) {
  66.                this.changeEvent = new ChangeEvent(this);
  67.             }
  68.  
  69.             ((ChangeListener)listeners[i + 1]).stateChanged(this.changeEvent);
  70.          }
  71.       }
  72.  
  73.    }
  74.  
  75.    public AccessibleContext getAccessibleContext() {
  76.       if (super.accessibleContext == null) {
  77.          super.accessibleContext = new AccessibleJProgressBar(this);
  78.       }
  79.  
  80.       return super.accessibleContext;
  81.    }
  82.  
  83.    public int getMaximum() {
  84.       return this.getModel().getMaximum();
  85.    }
  86.  
  87.    public int getMinimum() {
  88.       return this.getModel().getMinimum();
  89.    }
  90.  
  91.    public BoundedRangeModel getModel() {
  92.       return this.barModel;
  93.    }
  94.  
  95.    public int getOrientation() {
  96.       return this.orientation;
  97.    }
  98.  
  99.    public ProgressBarUI getUI() {
  100.       return (ProgressBarUI)super.ui;
  101.    }
  102.  
  103.    public String getUIClassID() {
  104.       return "ProgressBarUI";
  105.    }
  106.  
  107.    public int getValue() {
  108.       return this.getModel().getValue();
  109.    }
  110.  
  111.    public boolean isBorderPainted() {
  112.       return this.paintBorder;
  113.    }
  114.  
  115.    protected void paintBorder(Graphics g) {
  116.       if (this.isBorderPainted()) {
  117.          super.paintBorder(g);
  118.       }
  119.  
  120.    }
  121.  
  122.    public void removeChangeListener(ChangeListener l) {
  123.       EventListenerList var10000 = super.listenerList;
  124.       Class var10001 = class$com$sun$java$swing$event$ChangeListener;
  125.       if (var10001 == null) {
  126.          try {
  127.             var10001 = Class.forName("com.sun.java.swing.event.ChangeListener");
  128.          } catch (ClassNotFoundException var2) {
  129.             throw new NoClassDefFoundError(((Throwable)var2).getMessage());
  130.          }
  131.  
  132.          class$com$sun$java$swing$event$ChangeListener = var10001;
  133.       }
  134.  
  135.       var10000.remove(var10001, l);
  136.    }
  137.  
  138.    public void setBorderPainted(boolean b) {
  139.       this.paintBorder = b;
  140.       ((Component)this).repaint();
  141.    }
  142.  
  143.    public void setMaximum(int n) {
  144.       this.getModel().setMaximum(n);
  145.    }
  146.  
  147.    public void setMinimum(int n) {
  148.       this.getModel().setMinimum(n);
  149.    }
  150.  
  151.    public void setModel(BoundedRangeModel newModel) {
  152.       BoundedRangeModel oldModel = this.getModel();
  153.       if (newModel != oldModel) {
  154.          if (oldModel != null) {
  155.             oldModel.removeChangeListener(this.changeListener);
  156.             this.changeListener = null;
  157.          }
  158.  
  159.          this.barModel = newModel;
  160.          if (newModel != null) {
  161.             this.changeListener = this.createChangeListener();
  162.             newModel.addChangeListener(this.changeListener);
  163.          }
  164.  
  165.          if (super.accessibleContext != null) {
  166.             super.accessibleContext.firePropertyChange("AccessibleValue", oldModel == null ? null : new Integer(oldModel.getValue()), newModel == null ? null : new Integer(newModel.getValue()));
  167.          }
  168.  
  169.          this.barModel.setExtent(0);
  170.          ((Component)this).repaint();
  171.       }
  172.  
  173.    }
  174.  
  175.    public void setOrientation(int newOrientation) {
  176.       if (this.orientation != newOrientation) {
  177.          switch (newOrientation) {
  178.             case 0:
  179.             case 1:
  180.                int oldorientation = this.orientation;
  181.                this.orientation = newOrientation;
  182.                if (super.accessibleContext != null) {
  183.                   super.accessibleContext.firePropertyChange("AccessibleState", oldorientation == 1 ? AccessibleState.VERTICAL : AccessibleState.HORIZONTAL, this.orientation == 1 ? AccessibleState.VERTICAL : AccessibleState.HORIZONTAL);
  184.                }
  185.  
  186.                ((Component)this).repaint();
  187.                break;
  188.             default:
  189.                throw new IllegalArgumentException(newOrientation + " is not a legal orientation");
  190.          }
  191.       }
  192.  
  193.    }
  194.  
  195.    public void setUI(ProgressBarUI ui) {
  196.       if (super.ui != ui) {
  197.          super.setUI(ui);
  198.          ((Component)this).repaint();
  199.       }
  200.  
  201.    }
  202.  
  203.    public void setValue(int n) {
  204.       BoundedRangeModel brm = this.getModel();
  205.       int oldValue = brm.getValue();
  206.       brm.setValue(n);
  207.       if (super.accessibleContext != null) {
  208.          super.accessibleContext.firePropertyChange("AccessibleValue", new Integer(oldValue), new Integer(brm.getValue()));
  209.       }
  210.  
  211.    }
  212.  
  213.    public void update(Graphics g) {
  214.       ((JComponent)this).paint(g);
  215.    }
  216.  
  217.    public void updateUI() {
  218.       this.setUI((ProgressBarUI)UIManager.getUI(this));
  219.    }
  220. }
  221.